package org.dxy.domain.event.substitute;

import org.dxy.domain.event.AggregateTypeEnum;
import org.dxy.domain.event.DomainEvent;

/**
 * 替代料移除事件
 * @author dxy
 * @createTime 2025/9/13
 */
public record SubstituteMaterialRemovedEvent(
    /** MBOM ID */
    Long mbomId,
    /** 替代料ID */
    Long substituteId,
    /** MBOM项ID */
    Long mbomItemId
) implements DomainEvent {
    
    @Override
    public Long aggregateId() {
        return mbomId;
    }
    
    @Override
    public String aggregateType() {
        return AggregateTypeEnum.MBOM.getKey();
    }
    
    @Override
    public String eventType() {
        return SubstituteMaterialEventTypeEnum.REMOVED.getKey();
    }
}